package com.everwin.web.mapper;

import com.everwin.web.domain.FileDetail;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

/**
 * 保存文件详情的mybatis接口
 * @author caohn
 */
@Component
public interface FileDetailMapper {

    /**
     * 保存上传文件的详细记录
     * @param fileDetail 上传文件详细信息
     */
    void saveFileDetail(FileDetail fileDetail);

    /**
     * 根据文件的hash获取文件上传信息
     * @param fileHash 文件hash
     * @return 文件上传信息
     */
    FileDetail getFileDetail(String fileHash);

    /**
     * 创建保存文件上传信息表
     * @param tableName 表名
     */
    void createTable(@Param("tableName") String tableName);

    /**
     * 判断表是否存在
     * @param tableName 表名
     * @return 表的数量
     */
    int exists(@Param("tableName") String tableName);

}
